package com.toplabs.unashu.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author toplabs
 * @since 2022/11/22
 * <p>This java file was created by toplabs in 2022/11/22.
 * The following is the description information about this file:</p>
 * <p>description:策略配置注解</p>
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface BackoffProcess {
    /**
     * @return 初始重试间隔毫秒数
     */
    long value() default 0L;

    /**
     * @return 重试最大延迟
     */
    long maxDelay() default 0L;

    /**
     * @return 重试乘数
     */
    double multiplier() default 0.0D;
}